<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>常用函数</title>
    <script src="./jquery1.11.3.js"></script>
    <script>
        $(function () {
            // var str='   abc';
            // alert(str);
            // alert($.trim(str));//去掉字符串的空格
            // var array=['a','b','c','d'];
            // $.each(array,function (index,value) {
            //     $('#box').html($('#box').html()+index+value+'<br />');
            // });
            // var newArray=[2,3,5,6,4,6,1,10];
            //  var newg= $.grep(newArray,function (element,index) {
            //     return index<3;//范围是小于3
                //  return  index<5&&element>3;//5,6,4  过滤数据
             // });
             // alert(newg);
          // var tmpA= $.map(newArray,function (element,index) {
          //       return element+1;//数组中的所有元素都加上1
          //       });
                 // alert(tmpA);//返回返回3,4,6,7,5,7,2,11
//获取某一元素索引是几
//             alert($.inArray(5,newArray));//返回值2
//数组合并
//             alert($.merge(newg,tmpA));//5,6,4,3,4,6,7,5,7,2,11
 //去掉重复的元素unique  不好用跳过
            // var array= [3,2,3,5,6,7,9,10,11,25,2,3,6];
            // alert($.unique(array));
//把所有的div得到 然后打印长度5 重新设置divs
// 跟以前的拼接到一起  返回长度10，
//然后用unique   去掉重复的 打印长度是5
//     var divs=$('div').get();
//     alert(divs.length);
//     divs=divs.concat($('div').get());
//     alert(divs.length);
//     $.unique(divs);
//     alert(divs.length);




//判断是否是数组
//           var st=[2,3,5,6,9,10];
          // alert($.isArray(st)); //true
//判断是否是一个函数
//             var fn=function () {
//                 console.log(15);
//             };
//             alert($.isFunction(fn));//true
//判断是否为空
//             var obj={user:'name'};
//             alert($.isEmptyObject(obj));//false
// 判断是否是一个对象 我们自己构造出来的
//             var obj1={};
//             obj1=new Object();
//             alert($.isPlainObject(obj1));//true
//             alert($.isPlainObject(window));//false 因为是widow是内置对象
//         var divc=$('#box').get(0);
//         var spanc=$('#box1').get(0);
//         alert($.contains(divc,spanc));//true
 //判断某元素是什么类型
 //            var ss1=[1,2,3];
 //            alert($.type(ss1));//array 数组
 //            var obj={};
 //            alert($.type(obj)); //object 对象
 //            var num=12;
 //            alert($.isNumeric(num));
//判断是否指向window对象
//             var b12=window;
//             alert($.isWindow(b12));//true
//将对象转换成浏览器能识别字符串
            var tmp={
                name:'lilie',
                pwd:'abc',
                test:function () {
                    alert(this.name);
                }

            };
            // tmp.test();//lilie
            // alert($.param(tmp));//name=lilie&pwd=abc
            // $('#box').click(tmp.test);//什么也不显示 因为test的参数值是一个函数 函数里有this
            $('#box').click($.proxy(tmp,'test') );// test 指向tmp;返回值lilie
       });
    </script>
</head>
<body>
<div></div>
<div></div>
<div></div>
<div></div>
<div id="box" style="width: 100px;height: 100px;background-color: red">
    <span id="box1"></span>
</div>
<script>
    /*常用工具函数
        1.字符串去空格操作 $.trim(str)
        2.数组和对象操作
            2.1遍历数组
             $.each(array,function (index,value) {
                $('#box').html($('#box').html()+index+value+'<br />');
                });
            2.2过滤数据
                var newg= $.grep(newArray,function (element,index) {
                    // return index<3;//范围是小于3
                    return  index<5&&element>3;//5,6,4  过滤数据
                    });
                alert(newg);
            2.3 数组进行修改
                    tmpA= $.map(newArray,function (element,index) {
                        return element+1;//数组中的所有元素都加上1
                     });
                     alert(tmpA);//返回返回3,4,6,7,5,7,2,11
            2.4 获取某个元素的索引值
                 $.inArray(5,newArray)
            2.5 数组合并
                $.merge(数组名1,数组名2)
           2.7 去掉元素中重复的元素
                $.unique(元素的集合)
        3.判断
            3.1.判断是否是一个数组 返回true 是 返回false 不是
                $.isArray(数组名)
            3.2 判断是否是一个函数
                 $.isFunction(函数名)
            3.3判断是否为空
                  $.isEmptyObject(obj)
            3.4判断是否是我们自己构造的函数 如果是 返回true 如果不是 返回false
                  $.isPlainObject(obj1)
            3.5 判断是否有包含关系
                $.contains(包含的内容,被包含的内容)
            3.6判断数组类型
                $.type(数组名或对象名); //判断是否是数组名或者对象名
                $.isNumeric(num)//判断是否是数字
             3.7判断是否指向window对象
                    $.isWindow(参数名是否是window);
              3.8将对象转换成浏览器能识别字符串
                    $.param(对象的名称);
                    如果对象中包含函数 且用了this需要用如下解决
                $('#box').click($.proxy(对象名,'对象里的参数名 它的参数里包含this') )
        4.测试操作
        5.URL操作


    * */
</script>
</body>
</html>